// routes/admin.js
const express = require('express');
const User = require('../../models/vue-admin/User');
const session = require('express-session');

const router = express.Router();

// 管理员登录接口
router.post('/login', async (req, res) => {
    const { username, password } = req.body;

    if (!username || !password) {
        return res.status(400).json({
            code: 400,
            message: '用户名和密码为必填项'
        });
    }

    try {
        const admin = await User.findOne({ username });

        if (!admin) {
            return res.status(404).json({
                code: 404,
                message: '管理员账号不存在'
            });
        }

        if (password !== admin.password) {
            return res.status(401).json({
                code: 401,
                message: '密码错误'
            });
        }

        res.json({
            code: 200,
            message: '管理员登录成功',
            data: {
                username: admin.username,
                loginTime: new Date()
            }
        });

    } catch (err) {
        console.error('登录错误:', err);
        res.status(500).json({
            code: 500,
            message: '服务器内部错误'
        });
    }
});

// 登出接口
router.post('/logout', (req, res) => {
    try {
      // 检查session是否存在
      if (req.session) {
        // 销毁session
        req.session.destroy((err) => {
          if (err) {
            console.error('Session销毁失败:', err);
            return res.status(500).json({
              code: 500,
              message: '退出登录失败'
            });
          }
          res.status(200).json({
            code: 200,
            message: '退出登录成功'
          });
        });
      } else {
        // 如果session不存在，直接返回成功
        res.status(200).json({
          code: 200,
          message: '退出登录成功'
        });
      }
    } catch (err) {
      console.error('登出失败:', err);
      res.status(500).json({
        code: 500,
        message: '退出登录失败'
      });
    }
  });

module.exports = router;